/* indent size: 2 */

module.exports = app => {
  const DataTypes = app.Sequelize;

  const Model = app.model.define('info_comprehensive', {
    comprehensive_id: {
      type: DataTypes.INTEGER(10),
      allowNull: false,
      primaryKey: true,
      autoIncrement:true
    },
    depart_id: {
      type: DataTypes.INTEGER(10),
      allowNull: false,
      references: {
        model: 'department',
        key: 'department_id'
      }
    },
    acdemy: {
      type: DataTypes.STRING(100),
      allowNull: false
    },
    major: {
      type: DataTypes.STRING(100),
      allowNull: false
    },
    class: {
      type: DataTypes.STRING(100),
      allowNull: false
    },
    student_number: {
      type: DataTypes.STRING(12),
      allowNull: false
    },
    student_name: {
      type: DataTypes.STRING(50),
      allowNull: false
    },
    thought: {
      type: DataTypes.STRING(1000),
      allowNull: true
    },
    thought_score: {
      type: DataTypes.STRING(10),
      allowNull: true
    },
    civilization: {
      type: DataTypes.STRING(1000),
      allowNull: true
    },
    civilization_score: {
      type: DataTypes.STRING(10),
      allowNull: true
    },
    learn_attitude: {
      type: DataTypes.STRING(1000),
      allowNull: true
    },
    attitude_score: {
      type: DataTypes.STRING(10),
      allowNull: true
    },
    work: {
      type: DataTypes.STRING(1000),
      allowNull: true
    },
    work_score: {
      type: DataTypes.STRING(10),
      allowNull: true
    },
    duty: {
      type: DataTypes.STRING(1000),
      allowNull: true
    },
    duty_score: {
      type: DataTypes.STRING(10),
      allowNull: true
    },
    study: {
      type: DataTypes.STRING(1000),
      allowNull: true
    },
    study_score: {
      type: DataTypes.STRING(10),
      allowNull: true
    },
    practice: {
      type: DataTypes.STRING(1000),
      allowNull: true
    },
    practice_score: {
      type: DataTypes.STRING(10),
      allowNull: true
    },
    communication: {
      type: DataTypes.STRING(1000),
      allowNull: true
    },
    communication_score: {
      type: DataTypes.STRING(10),
      allowNull: true
    },
    innvote: {
      type: DataTypes.STRING(1000),
      allowNull: true
    },
    innvote_score: {
      type: DataTypes.STRING(10),
      allowNull: true
    },
    literary: {
      type: DataTypes.STRING(1000),
      allowNull: true
    },
    literary_score: {
      type: DataTypes.STRING(10),
      allowNull: true
    },
    deal_person: {
      type: DataTypes.STRING(50),
      allowNull: true
    },
    deal_remark: {
      type: DataTypes.STRING(500),
      allowNull: true
    },
    status: {
      type: DataTypes.INTEGER(4),
      allowNull: false
    },
    create_time: {
      type: DataTypes.DATE,
      allowNull: false,
      defaultValue: DataTypes.literal('CURRENT_TIMESTAMP')
    },
    update_time: {
      type: DataTypes.DATE,
      allowNull: false,
      defaultValue: DataTypes.literal('CURRENT_TIMESTAMP')
    }
  }, {
    tableName: 'info_comprehensive'
  });

  Model.associate = function() {

  }

  return Model;
};
